package org.jeecg.modules.bicycle.order.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.checkerframework.checker.units.qual.A;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 借车记录拼接实体
 * @Author: 月月鸟
 * @Date:   2021-05-28
 * @Version: V1.0
 */
@Data
@TableName("bike_vehicle_order")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bike_vehicle_order对象", description="借车记录")
public class BikeVehicleOrderRes implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	//车辆信息
    /**车辆Code*/
    @Excel(name = "车辆编号", width = 15)
    @ApiModelProperty(value = "车辆Code")
    private String vehicleCode;
    /**车辆类型*/
    @Excel(name = "车辆类型", width = 15,dicCode = "bike_type")
    @ApiModelProperty(value = "车辆类型")
    @Dict(dicCode = "bike_type")
    private String vehicleType;
    //会员信息
    /**借车人账号*/
    @Excel(name = "会员号", width = 15)
    @ApiModelProperty(value = "借车人账号")
    private String pickUserCode;
    /**借车人姓名*/
    @Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "借车人姓名")
    private String pickUserName;
    /**身份证*/
    @Excel(name = "身份证", width = 15)
    @ApiModelProperty(value = "身份证")
    private String pickIdCard;
    //网点信息
    /**借出网点*/
    @Excel(name = "借出网点", width = 15)
    @ApiModelProperty(value = "借车网点名")
    private String pickStationName;
    /**借车网点编号*/
    //@Excel(name = "借出网点", width = 15)
    @ApiModelProperty(value = "借车网点编号")
    private String pickStationCode;
    /**借车车桩名*/
    @Excel(name = "借出车桩", width = 15)
    @ApiModelProperty(value = "借车车桩名")
    private String pickPileName;
    /**借车时间*/
    @Excel(name = "借出时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "借车时间")
    private java.util.Date pickTime;
    /**还车网点名*/
    @Excel(name = "归还网点", width = 15)
    @ApiModelProperty(value = "归还网点名")
    private String parkStationName;
    /**还车网点编号*/
    //@Excel(name = "归还网点", width = 15)
    @ApiModelProperty(value = "归还网点编号")
    private String parkStationCode;
    /**还车车桩名*/
    @Excel(name = "归还车桩", width = 15)
    @ApiModelProperty(value = "还车车桩名")
    private String parkPileName;
    /**还车时间*/
    @Excel(name = "归还时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "还车时间")
    private java.util.Date parkTime;
    /**还车类型*/
    @Excel(name = "还车类型", width = 15, dicCode = "park_type")
    @Dict(dicCode = "park_type")
    @ApiModelProperty(value = "还车类型")
    private String parkType;
    /**用车方式 1 扫码 2 刷卡	*/
    @Excel(name = "用车方式", width = 15, dicCode = "use_type")
    @Dict(dicCode = "use_type")
    @ApiModelProperty(value = "用车方式")
    private String useType;
    /**用车时长(分钟)*/
    //@Excel(name = "用车时长(分钟)", width = 15)
    @ApiModelProperty(value = "用车时长(分钟)")
    private Integer useLong;
    /**使用时长MMss版(分钟)*/
    @Excel(name = "用车时长(分钟)", width = 15)
    @ApiModelProperty(value = "使用时长MMss版")
    @TableField(exist = false)
    private java.lang.String useMMss;
    /**停止计费时间*/
    @Excel(name = "停止计费时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "停止计费时间")
    private java.util.Date stopTime;
    /**是否手动停止计费*/
    @Excel(name = "是否手动停止计费", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否手动停止计费")
    private String isStop;
    /**应该支付费用*/
    @Excel(name = "应付费用", width = 15)
    @ApiModelProperty(value = "应该支付费用")
    private java.math.BigDecimal payCost;
    /**实际支付费用*/
    @Excel(name = "实付费用", width = 15)
    @ApiModelProperty(value = "实际支付费用")
    private java.math.BigDecimal payActual;
    //支付信息 1钱包支付2支付宝支付3组合支付4免单
    /**支付类型*/
    @Excel(name = "支付方式", width = 15,dicCode = "spend_type")
    @ApiModelProperty(value = "支付类型")
    @Dict(dicCode = "spend_type")
    private java.math.BigDecimal spendType;
    /**单据状态 (1进行中2免单中3退款中4已完成)*/
    //@Excel(name = "单据状态", width = 15,dicCode = "bill_status")
    @ApiModelProperty(value = "单据状态")
    @Dict(dicCode = "bill_status")
    private java.lang.String billStatus;

	/**订单号*/
	@Excel(name = "订单号", width = 0)
    @ApiModelProperty(value = "订单号")
    private String code;
	/**车辆*/
    @ApiModelProperty(value = "车辆ID")
    private String vehicleId;

	/**借车人*/
    @ApiModelProperty(value = "借车人ID")
    private String pickUser;
	/**借车车桩*/
    @ApiModelProperty(value = "借车车桩ID")
    private String pickPile;


	/**还车人*/
	@Excel(name = "还车人", width = 0)
    @ApiModelProperty(value = "还车人")
    private String parkUser;
	/**还车车桩*/
	@Excel(name = "还车车桩ID", width = 0)
    @ApiModelProperty(value = "还车车桩ID")
    private String parkPile;



	/**是否支付*/
	@Excel(name = "是否支付", width = 0, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否支付")
    private String isPay;
	/**支付时长*/
	@Excel(name = "支付时长", width = 0)
    @ApiModelProperty(value = "支付时长")
    private Integer payLong;
	/**骑行状态(1扫码骑行2刷卡骑行3停止计费4未支付)*/
	//@Excel(name = "骑行状态(1扫码骑行2刷卡骑行3停止计费4未支付)", width = 15, dicCode = "ride_status")
	@Dict(dicCode = "ride_status")
    @ApiModelProperty(value = "骑行状态(1扫码骑行2刷卡骑行3停止计费4未支付)")
    private String rideStatus;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String memo;


	//拼接列名



    /**筛选是否停止计费未还车*/
    @ApiModelProperty(value = "是否停止计费未还车 1.是 ")
    private String isStopTime;

    /**用车时长选择*/
    @ApiModelProperty(value = "用车时长选择 1-24小时以上，0-24小时以内 ")
    private String timeSelection;


    //借车时间查询条件
    /**借车时间起*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "借车时间起")
    private java.util.Date pickTimeStar;
    /**借车时间止*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "借车时间止")
    private java.util.Date pickTimeEnd;


}
